/*
 * Esse arquivo é parte do Software de Segurança do LaPEC
 * 
 * Copyright (C) 2012-$AnoCorrente$ Dyego Ítallo Silva Ferreira
 * Copyright (C) 2012-$AnoCorrente$ Eduardo Moreira Barbosa
 * Copyright (C) 2012-$AnoCorrente$ João dos Santos Gonçalves
 * 
 * LaPEC é um Software Livre: Você pode redistribuí-lo e/ou modificá-lo
 * de acordo com os termos da Licença Pública Geral GNU (GNU General Public License)
 * conforme publicada pela Free Software Foundation (FSF). Essa permissão é atribuída
 * na versão 3 da Licença, ou (na sua opinião) qualquer versão.
 * 
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa,
 * se não, escreva para a Fundação do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor,
 * Boston, MA  02110-1301  USA
 * 
 * Se você tiver alguma dúvida e/ou quiser dar suporte ao desenvolvimento, favor entrar em
 * contato nos e-mails <dyegoitallo@gmail.com>, <barbosa.edrd@gmail.com>, <john.jsg@hotmail.com>.
 */

package conexaoBiometria;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

/**
 * Classe responsável por fazer a conexão com o programa em C
 * e pegar as saídas de dados do leitor.
 * @author Dyego Ítallo Silva Ferreira
 */
public class ConexaoBiometria {

    // ===============================================================================
    // Métodos
    // ===============================================================================
    /**
     * Método responsável por iniciar o programa em C que pega os dados da
     * biometria.
     * @param nomeDoArquivo - Inserir a matricula (aluno) ou siape (professor) "-"
     * numeroDigital.
     * @throws IOException
     * @author Dyego Ítallo Silva Ferreira
     */
    public void iniciaBiometria(String nomeDoArquivo) throws IOException {
        Process processo;
        processo = Runtime.getRuntime().exec(util.Util.BIOMETRY + " " + util.Util.PATHNAME_TEMP + nomeDoArquivo);
        processo.getOutputStream().close();
    }

    
    /**
     * Método responsável por ler aquivo que o programa em C vai escrever
     * o nome do arquivo está na variável util.Util.ARQUIVO_SAIDA
     * @param nomeArquivo -  util.Util.ARQUIVO_SAIDA.
     * @return - String com todo o conteúdo do arquivo.
     */
    public String lerArquivo(String nomeArquivo) {

        String str = "";
        try {
            BufferedReader in = new BufferedReader(new FileReader(nomeArquivo));
            while (in.ready()) {
                str += in.readLine() + "\n";
            }
        } catch (IOException e) {
            str = "";
        }
        return str;
    }

    /**
     * Método usado para excluir arquivo.
     * @param nomeArquivo - util.Util.ARQUIVO_SAIDA
     */
    public void excluirArquivo(String nomeArquivo) {
        File file = new File(nomeArquivo);
        file.delete();
    }
}
